如何用软件实现步进电机细分驱动
一、引言
由于步进电机成本低,控制线路简单,调试方便,所以在许多开环控制系统中得到了广泛的应用。但是当步进电机转子运动频率达到其机械谐振点时,就会产生谐振和噪声。
为了克服机械噪声可以改变驱动方式,步进电机的驱动方式一般分为单相激励、两相激励和半步激励等。单相激励时虽然具有输入功率小,温度不会升的太高的优点,但是由于振荡厉害,控制不稳,所以很少采用。两相激励、半步激励都可以提高平稳度,减小机械振荡。据此,采用细分驱动控制减小噪声是一种比较完善和理想的解决手段。
二、步进电机细分驱动原理
所谓细分驱动就是把机械步距角细分成若干个电的步距角,当转子从一个位置转到下一个位置的时候,会出现一些“暂态停留点”。这样使得电机启动时的过调量或者停止时的过调量就会减小,电机轴的振动也会减小,使电机转子旋转过程变得更加平滑,更加细腻,从而减小了噪声。
图1 电机驱动示意图
首先介绍步进电机整步驱动,我们以两相混合式步进电机57BYB406为例,它的步距角为1.8°。该电机有A,B两相绕组,其中我们用C表示A通反向电流时的磁场-A,用D表示B通反向电流时的磁场-B。
当分别给各相绕组通电时,各相绕组产生的旋转磁场如下:仅有A相导通时,旋转磁场指向A;仅有B相导通时,旋转磁场指向B;仅有C相导通时,旋转磁场指向C;仅有D相导通时,旋转磁场指向D。依次为各相绕组通电,每切换一次,旋转磁场矢量转过90°,电机转过一个步距角1.8°。当旋转磁场矢量转过360°时,电机转过一个齿距,这种工作方式称为整步工作。
如果改变上述加电过程,采用四相八拍工作,即通电顺序依次为:
此工作方式称半步工作,旋转磁场的矢量变化如图2所示。每改变一次通电状态,旋转磁场的矢量转过45°。
图2 四细分驱动磁场矢量图
同理,旋转磁场转过360°,电机转过一个齿距。
由半步原理给予启发,如果让旋转磁场矢量每次转过22.5°,这样就实现了四细分驱动。其旋转磁场矢量变化如图3所示。
图3 步进电机四细分驱动磁场矢量图
为了使电机输出转距大小一致,也就是使电机匀速转动,我们控制流入A,B,C,D各相电流的大小,具体按公式sin2α+cos2α=1来计算。图4给出了四细分驱动时各相电机输入电流值的变换曲线。
图4 四细分驱动转距均匀输出原理图
三、细分驱动在喷膜机的应用
1、喷膜机总体设计
喷膜机中X方向细分驱动控制如图5所示。这里我们采用8052微处理机,它是增强的MCS-51系列单片机,具有8K字节的ROM,256字节的RAM。8位DA转换器AD7524通过锁存器与单片机的数据线相连,构成步进电机的脉冲信号发生器。如果该脉冲信号驱动能力不够大,可以在DA转换器之后加一级放大器。产生的脉冲信号加在驱动器NJM3770的VR引脚,用来驱动步进电机。
图5 喷膜机X方向控制图
2、脉冲分配器的设计
在喷膜机的设计中,我们采用软件的方法实现脉冲分配器。将电机四细分驱动脉冲数据存储在内存中,如表1所示。当电机逆时针方向运转时,自上而下走表索取控制量;当电机顺时针方向运转时,自下而上走表索取控制量,这样就可以控制电机上的电流的大小。其中控制量的最高位是方向控制信号,低7位存储电机脉冲信号的大小。
如何实现7位数据的数模转换呢?这里介绍两种方法实现DA转换。第一种方法的思想是:脉冲信号的大小用8位表示,但要求存储的任何数据的最高位都为零,这样就可以将DA转换器的最高位直接接地,用最高位存储方向控制信号。为了使存储数据的最高位始终为零,就必须使数字信号的最大值不超过01111111,即模拟信号的大小最大为-VREF(127/256)。为了得到所需要的电压值须将参考电压VREF增大一倍。这样锁存器的最高位Q7表示方向位,接NJM3770的Phase引脚,锁存器的Q0~Q6顺次接DA转换器的D0~D6,DA转换器的最高位接地。
表1 电机四细分驱动脉冲数据
第二种方法的思想是:数据仅用7位表示,留下一位表示方向位。在设计中使锁存器的Q0~Q6分别接AD7524的D1~D7,AD7524的D0位接地,锁存器的Q7接NJM3770的Phase引脚。这种方法使得实际输出的数据与理论所需数据之间会产生误差,误差率为1/256。在喷膜机的设计Vr=5V,V误差=0.0195V,由于误差很小,不会产生很大的影响,所以采用第二种方法。查看电机的参数表得知电流值Im=0.7A,所以我们在设计当中,应该使电机中的电流不能大于0.7A。当RS=0.68Ω,VR=5V时,通过公式Im=(VR×0.080)/RS计算得到Im=0.588A,满足设计要求。通过微调AD7524的参考电阻RREF,可以微调电机脉冲信号的大小,从而控制电机绕组上的电流值。按表1计算出四细分驱动所需要的脉冲信号的大小,A,B两项绕组上的脉冲变化如图6所示。由于方向控制信号由AD7524的Q7位控制,所以绕组上的电流值只表现大小。
图6 A,B两相电机脉冲时序图
3、保护电路的设计
步进电机驱动器采用NJM3770,它由一个与LS-TTL兼容的逻辑输入端,一个电流感应器,一个单稳态多频振荡器,一个高压H桥输出端组成。具有以下特点:只能驱动步进电机的一相,半步或者全步控制,开关模式的双极性直流驱动,电流控制范围5~1800mA,电压范围10~45V,过热保护,Phase为方向控制信号,高电平时电流自MA→MB;低电平时,电流自MB→MA。I0,I1控制电机上的电流输出,变化情况如表2。
表2 I0,I1控制电机上的电流输出,变化情况
在驱动器的设计中,如果电机上的电流太大,电机会发热,而且绕组上电流变化过程中会产生很大的感应电动势,这样就会损坏电机,所以应该具有相应的保护措施。这里可以通过控制I0,I1来控制电机上的电流大小,我们可以采用60%的电流输出,即I0=1,I1=0。并且要设计反向电流回路,来对感应电动势进行抑制。一般方法是采用浪涌吸收电路,最简单的办法就是将一个二极管与各绕组并联,二极管的正向电压较低,吸收效果较好,但二极管的通电时间长,不适用于高速开关电路。另外,二极管把绕组上的感应电压直接短路,阻尼效果很强,电机的高频特性变坏,因此这种结构限于低速运行的电路,在喷膜机的设计中,对电机的速度要求不高,因此采用这种方法。
4、细分驱动软件设计
步进电机有启动频率和最高频率两个参数,为了使电机转动更加平稳,应该有电机加速和减速程序,从而使得电机很快的到达运行频率而且不会出现失步。四细分驱动流程图见图7。首先将表1放入内存中,STEPNUML,和STEPNUMH分别存放步数的低8位和高8位,PHASE是方向控制信号,R0存放表的项数。按照电机转动方向决定R0的初始值,依次从表中读取数值,每发送一个数据,电机走一步(0.45°),然后延时一段时间。根据延时的长短,可以控制电机的速度,连续读取数据,电机就转动起来了。
图7 流程图
四、小结
以上详细的介绍了步进电机四细分驱动在喷膜机中的应用,这一技术也可以推广到其他数控装置中,读者也可以根据实际需要进行细分,当然分得越细,控制越复杂,硬件电路要求也<
提交
step7 v5.4 中文版.part28
step7 v5.4 中文版.part16
S7-300教学
SEE Electrical 2005B130 cn
step7 v5.4 中文版.part05